/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package codigoGeral;

import Beans.Jogador;
import Beans.Jogo;
import Beans.Usuario;
import Daos.JogadorDao;
import Daos.JogoDao;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpSession;

/**
 *
 * @author aluno
 */
public class AtualizaJogosMarcadoEPendentes {

    public void atualizaTudo(HttpSession session){


        
                Usuario usuarioCapturado = (Usuario)session.getAttribute("usuario");
                //pega jogos marcados pelo usuario
                List<Jogo> capturaJogosMarcados = new ArrayList<Jogo>();
                capturaJogosMarcados = new JogoDao().getPorUsuario(usuarioCapturado);
                List<ListaJogos> jogosMarcados = new ArrayList<ListaJogos>();
                for (int i = 0; i < capturaJogosMarcados.size(); i++) {
                    ListaJogos listaJogos = new ListaJogos(capturaJogosMarcados.get(i).getId(),
                            capturaJogosMarcados.get(i).getDataJogo(),
                            capturaJogosMarcados.get(i).getHorario().getHorarioChegada(),
                            capturaJogosMarcados.get(i).getUsuario().getNome());

                    jogosMarcados.add(listaJogos);
                }

                //pega a lista de todos os jogos



//               for (int i = 0; i < jogosMarcados.size(); i++) {
//                   System.out.println("numero jogo "+jogosMarcados.get(i).getNomeJogo());
//                   System.out.println("horario "+jogosMarcados.get(i).getHorario());
//                   System.out.println("data jogo "+jogosMarcados.get(i).getDataJogo());
//                   System.out.println("================================================");
//               }





                session.setAttribute("jogosMarcados", jogosMarcados);

                //pega jogos em que estou participando
                List<Jogador> capturaJogosQueParticipo = new ArrayList<Jogador>();
                capturaJogosQueParticipo = new JogadorDao().getPorUsuario(usuarioCapturado);

                //cria lista para mostrar jogos pendentes
                List<JogosPendentesDados> jogosQueParticipo = new ArrayList<JogosPendentesDados>();
                Calendario calendario = new Calendario(null);

                for (int i = 0; i < capturaJogosQueParticipo.size(); i++) {

                    JogosPendentesDados jogosPendentesDados =
                            new JogosPendentesDados(capturaJogosQueParticipo.get(i).getJogo().getDataJogo(),
                            capturaJogosQueParticipo.get(i).getJogo().getHorario().getHorarioChegada(),
                            capturaJogosQueParticipo.get(i).getJogo().getId(),
                            capturaJogosQueParticipo.get(i).getConfirmacao().toString(),
                            capturaJogosQueParticipo.get(i).getJogo().getUsuario().getNome());

                    String dataAVerificar = capturaJogosQueParticipo.get(i).getJogo().getDataJogo();
                    //   System.out.println("DAta a verificar " + dataAVerificar);
                    if (calendario.retornaVerdadeiroSeDataEstiverAdiante(dataAVerificar)) {
                        jogosQueParticipo.add(jogosPendentesDados);
                        System.out.println("Adicionado o jogo pendente");
                    }

                }
//                for (int i = 0; i < jogosQueParticipo.size(); i++) {
//                    System.out.println("Data :" + jogosQueParticipo.get(i).getData());
//                    System.out.println("Confirmação :" + jogosQueParticipo.get(i).getConfirmação());
//                    System.out.println("Horario :" + jogosQueParticipo.get(i).getHorario());
//                    System.out.println("Nome :" + jogosQueParticipo.get(i).getNomeJogo());
//                    System.out.println("Nome do cara que marcou o jogo: " + jogosQueParticipo.get(i).getUsuarioQueMarcouJogo());
//                    System.out.println("================================================");
//                }

//                 for (int i = 0; i < capturaJogosQueParticipo.size(); i++) {
//
//                     System.out.println("jogo "+capturaJogosQueParticipo.get(i).getJogo().getId());
//                     System.out.println("Data jogo "+capturaJogosQueParticipo.get(i).getJogo().getDataJogo());
//                     System.out.println("Horario jogo "+capturaJogosQueParticipo.get(i).getJogo().getHorario().getHorarioChegada());
//
//                     System.out.println("confirmação: "+capturaJogosQueParticipo.get(i).getConfirmacao().toString());
//                     System.out.println("usuario"+capturaJogosQueParticipo.get(i).getUsuario().getId());
//                     System.out.println("================================================");
//
//                 }

                List<Jogador> proximosJogos = new ArrayList<Jogador>();
                proximosJogos = new JogadorDao().get();

                List<JogosPendentesDados> os10jogos = new ArrayList<JogosPendentesDados>();

                for (int i = 0; i < proximosJogos.size(); i++) {
                    JogosPendentesDados jogosPendentesDados =
                            new JogosPendentesDados(proximosJogos.get(i).getJogo().getDataJogo(),
                            proximosJogos.get(i).getJogo().getHorario().getHorarioChegada(),
                            proximosJogos.get(i).getJogo().getId(),
                            proximosJogos.get(i).getConfirmacao().toString(),
                            proximosJogos.get(i).getJogo().getUsuario().getNome());
                    os10jogos.add(jogosPendentesDados);

                }
                session.setAttribute("proximosJogos", proximosJogos);

                session.setAttribute("jogosQueParticipo", jogosQueParticipo);




    }




}
